// 分频脉冲 Frequency pulse
module freq_div_in_pul #
(
    parameter    DIV_COEF  = 1000 // 分频系数
)
(
    input                           clk_50m, // 时钟频率50MHz
    input                           rst_n, // 复位信号，低电平有效
    input                           in_p, // 输入脉冲信号
    output reg                      out_p // 分频后输出信号
);

reg [15:0] div_cnt; // 分频计数器

// 用输入脉冲产生DIV_COEF倍分频输出脉冲
always @(posedge clk_50m) begin
    if (!rst_n) div_cnt <= 1'b0;
    else if (in_p) begin
		if (div_cnt < DIV_COEF - 1'b1) div_cnt <= div_cnt + 1'b1;
		else div_cnt <= 0;
	end else div_cnt <= div_cnt;
end

assign out_p = (in_p == 1'b1 && div_cnt == DIV_COEF - 1'b1) ? 1'b1 : 1'b0;

endmodule  //freq_div_in_pul